package 剑指offer;

public class p27二叉树的镜像 {
    public TreeNode mirrorTree1(TreeNode root) {
        if (root==null) {
            return root;
        }
        if(root.left==null && root.right==null) {
            return root;
        }

        TreeNode tmp=null;
        tmp=root.left;
        root.left=root.right;
        root.right=tmp;

        if (root.left!=null) {
            mirrorTree(root.left);
        }
        if (root.right!=null) {
            mirrorTree(root.right);
        }

        return root;
    }


    public TreeNode mirrorTree(TreeNode root) {
        //使用后序遍历
        if (root==null) {
            return root;
        }

        if (root.left==null && root.right==null) {
            return root;
        }

        mirrorTree(root.left);
        mirrorTree(root.right);

        TreeNode tmp=root.left;
        root.left=root.right;
        root.right=tmp;

        return root;
    }
}
